home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
PsL Monthly 1993 December
/
PSL Monthly Shareware CD-ROM (December 1993).iso
/
prgmming
/
win
/
c
/
clikbar.exe
/
TESTCLIK.ZIP
/
TESTCLIK.C
< prev
next >
Wrap
C/C++ Source or Header
|
1992-04-20
|
16KB
|
530 lines
/*============================================================================
testclik -- Demo program for ClickBar.DLL and ClickDlg.DLL
File : testclik.c
Prototype :
Call :
Library :
7 February 1992 - dlcampbell
(c) 1991 Campbell SoftWare
----------------------------------------------------------------------------*/
#include <windows.h>
#include <wynbtn.h>
#include <clickdlg.h>
#include <clickbar.h>
#include "testclik.h"
/*----------------------------------------------------------------------------
Prototypes
----------------------------------------------------------------------------*/
BOOL FAR PASCAL AboutDlgProc(HWND, WORD, WORD, LONG);
void MakeHelpPathName(char *);
BOOL FAR PASCAL TestClikDlgProc(HWND, WORD, WORD, LONG);
long FAR PASCAL WndProc(HWND, WORD, WORD, LONG);
short cxClient, cyClient;
int InitSettings, OldInitSettings;
char szAppName[] = "testclik";
HANDLE hInst;
HWND hWndMain;
HWND hWndDlg = NULL;
HWND hWndDlg2 = NULL;
FARPROC lpfnDisplayDlg, lpfnDlgMove, lpfnDlgPlus;
FARPROC lpfnWynBtnSetup, lpfnClickBarSetup;
char szHelpFileName[EXE_NAME_MAX_SIZE+1]; /* Help file name*/
/*============================================================================
WinMain -- main window procedure for TestClik
File : testclik.C
Prototype : int PASCAL WinMain (HANDLE, HANDLE, LPSTR, int);
Call : WinMain (hInstance, hPrevInstance, lpszCmdParam, nCmdShow);
Library :
7 February 1992 - dlcampbell
(c) 1991 Campbell SoftWare
----------------------------------------------------------------------------*/
#pragma warn -par /* nCmdShow, lpszCmdParam not used */
int PASCAL WinMain (HANDLE hInstance, HANDLE hPrevInstance,
LPSTR lpszCmdParam, int nCmdShow)
{
MSG msg;
WNDCLASS WndClass;
HDC hdc;
TEXTMETRIC tm;
HMENU hMenu;
HANDLE hLibWynBtn, hClickBar, hClickDlg, hBWCCDll;
FARPROC lpfnDlgSetup;
GLOBALHANDLE MyStructHandle;
FPWYNAPSESTRUCT MyStruct;
static char szMenuTitle[21 + 1];
if (hPrevInstance)
return FALSE;
WndClass.style = CS_HREDRAW | CS_VREDRAW;
WndClass.lpfnWndProc = WndProc;
WndClass.cbClsExtra = 0;
WndClass.cbWndExtra = 0;
WndClass.hInstance = hInstance;
WndClass.hIcon = LoadIcon(hInstance, szAppName);
WndClass.hCursor = LoadCursor(NULL, IDC_ARROW);
WndClass.hbrBackground = GetStockObject(WHITE_BRUSH);
WndClass.lpszMenuName = szAppName;
WndClass.lpszClassName = szAppName;
RegisterClass(&WndClass);
hdc = CreateIC("DISPLAY", NULL, NULL, NULL);
GetTextMetrics(hdc, &tm);
DeleteDC(hdc);
cxClient = GetSystemMetrics(SM_CXSCREEN);
cyClient = GetSystemMetrics(SM_CYSCREEN);
hLibWynBtn = LoadLibrary("WYNBTN.DLL");
if (hLibWynBtn < 32)
{
FreeLibrary(hLibWynBtn);
MessageBox(GetFocus(),"Dynamic Link Library WYNBTN.DLL must be present",
szAppName, MB_ICONEXCLAMATION | MB_OK);
return 0;
}
hClickBar = LoadLibrary("CLICKBAR.DLL");
if (hClickBar < 32)
{
FreeLibrary(hClickBar);
MessageBox(GetFocus(),"Dynamic Link Library CLICKBAR.DLL must be present",
szAppName, MB_ICONEXCLAMATION | MB_OK);
return 0;
}
hClickDlg = LoadLibrary("CLICKDLG.DLL");
if (hClickDlg < 32)
{
FreeLibrary(hClickDlg);
MessageBox(GetFocus(),"Dynamic Link Library CLICKDLG.DLL must be present",
szAppName, MB_ICONEXCLAMATION | MB_OK);
return 0;
}
hBWCCDll = LoadLibrary("BWCC.DLL");
if (hBWCCDll < 32)
{
FreeLibrary(hBWCCDll);
MessageBox(GetFocus(),"Dynamic Link Library BWCC.DLL must be present",
szAppName, MB_ICONEXCLAMATION | MB_OK);
return 0;
}
lpfnDlgSetup = GetProcAddress(hClickDlg, "ClickBarDialogSetup");
lpfnDlgMove = GetProcAddress(hClickDlg, "ClickBarDialogMove");
lpfnDisplayDlg = GetProcAddress(hClickDlg, "ClickBarDialogProc");
lpfnWynBtnSetup = GetProcAddress(hLibWynBtn, "WynBtnSetup");
lpfnClickBarSetup = GetProcAddress(hClickBar, "ClickBarSetup");
MyStructHandle = GlobalAlloc(GHND, sizeof(WYNAPSE_STRUCT));
MyStruct = (FPWYNAPSESTRUCT)GlobalLock(MyStructHandle);
lstrcpy(MyStruct->RegName, (LPSTR)"Your Name"); /* WynBtn RegName */
MyStruct->RegNumber = 0; /* WynBtn RegNumber */
GlobalUnlock(MyStructHandle);
(*lpfnWynBtnSetup)(MyStructHandle);
MyStruct = (FPWYNAPSESTRUCT)GlobalLock(MyStructHandle);
lstrcpy(MyStruct->RegName, (LPSTR)"Your Name"); /* ClickBar RegName */
MyStruct->RegNumber = 0; /* ClickBar RegNumber */
GlobalUnlock(MyStructHandle);
(*lpfnClickBarSetup)(MyStructHandle);
GlobalFree(MyStructHandle);
hWndMain = CreateWindow(szAppName, /* window class name */
szAppName, /* window caption */
WS_OVERLAPPEDWINDOW | WS_CLIPCHILDREN,
CW_USEDEFAULT, /* initial x pos */
CW_USEDEFAULT, /* initial y pos */
CW_USEDEFAULT, /* initial x size */
CW_USEDEFAULT, /* initial y size */
NULL, /* parent window handle */
NULL, /* window menu handle */
hInstance, /* program instance handle */
NULL); /* creation parameters */
hMenu = GetSystemMenu(hWndMain, FALSE);
AppendMenu(hMenu, MF_SEPARATOR, 0, NULL);
AppendMenu(hMenu, MF_STRING, IDM_ABOUT, "About...");
AppendMenu(hMenu, MF_STRING, IDM_SETUP, "Setup...");
AppendMenu(hMenu, MF_STRING, IDM_HELP, "Help....");
hInst = hInstance;
MakeHelpPathName(szHelpFileName);
ShowWindow(hWndMain, nCmdShow);
UpdateWindow(hWndMain);
(*lpfnDlgSetup)(hWndMain);
hWndDlg = CreateDialog(hInst, "CLICK", hWndMain,
MakeProcInstance((*lpfnDisplayDlg), hInst));
lstrcpy(szMenuTitle, "AbNormal");
SendDlgItemMessage(hWndDlg, IDXCOMBO, CB_ADDSTRING, 0, (LONG)(LPSTR)szMenuTitle);
lstrcpy(szMenuTitle, "AsNormal");
SendDlgItemMessage(hWndDlg, IDXCOMBO, CB_ADDSTRING, 0, (LONG)(LPSTR)szMenuTitle);
lstrcpy(szMenuTitle, "ProNormal");
SendDlgItemMessage(hWndDlg, IDXCOMBO, CB_ADDSTRING, 0, (LONG)(LPSTR)szMenuTitle);
lstrcpy(szMenuTitle, "Not Normal");
SendDlgItemMessage(hWndDlg, IDXCOMBO, CB_ADDSTRING, 0, (LONG)(LPSTR)szMenuTitle);
lstrcpy(szMenuTitle, "Huh?");
SendDlgItemMessage(hWndDlg, IDXCOMBO, CB_ADDSTRING, 0, (LONG)(LPSTR)szMenuTitle);
lstrcpy((LPSTR)szMenuTitle, "Normal");
SendDlgItemMessage(hWndDlg, IDXCOMBO, CB_ADDSTRING, 0, (LONG)(LPSTR)szMenuTitle);
SendDlgItemMessage(hWndDlg, IDXCOMBO, CB_SELECTSTRING, -1, (LONG)(LPSTR)szMenuTitle);
SendMessage(hWndMain, WM_NCACTIVATE, 1, 0L);
while (GetMessage(&msg, NULL, 0, 0))
{
if (hWndDlg == 0 || !IsDialogMessage(hWndDlg, &msg))
{
TranslateMessage(&msg);
DispatchMessage(&msg);
}
}
/*----------------------------------------------------------------------------
Now free the DLLs used in the application...
----------------------------------------------------------------------------*/
FreeLibrary(hLibWynBtn);
FreeLibrary(hClickBar);
FreeLibrary(hClickDlg);
FreeLibrary(hBWCCDll);
return msg.wParam;
} /* int PASCAL WinMain */
#pragma warn .par
/*============================================================================
AboutDlgProc -- Displays the EGO box for the application
File : ExitWin.C
Prototype : BOOL FAR PASCAL AboutDlgProc (HWND, WORD, WORD, LONG)
Call : AboutDlgProc (hDlg, message, wParam, lParam)
Library :
7 February 1992 - dlcampbell
(c) 1991 Campbell SoftWare
----------------------------------------------------------------------------*/
BOOL FAR PASCAL AboutDlgProc (HWND hDlg, WORD message, WORD wParam,